#version 450

layout (binding = 1) uniform samplerCube cubemapImage;

layout (location = 0) in vec3 inUVW;

layout (location = 0) out vec4 outColor;

layout (push_constant) uniform PushConstants
{
    float roughness;
} pushConstants;

void main()
{
	const float MAX_REFLECTION_LOD = 4.0;
	outColor = textureLod(cubemapImage, inUVW, pushConstants.roughness * MAX_REFLECTION_LOD);
}